//
//  LCCycleScrollView.h
//  LCCycleScrollView
//
//  Created by admin on 2017/8/17.
//  Copyright © 2017年 LC. All rights reserved.
//

#import <UIKit/UIKit.h>


/**
 依赖库:
 1. pod 'Masonry', '~> 1.0.2'
 2. pod 'SDWebImage', '~> 3.8.2'
 */

/*
 控件设计思路:
 1. 设计头文件
 1> 设计数据源
 2> 设计代理(因为是跟样式有关,所以放在边开发边设计)
 2. 编写控件使用案例
 3. 实现控件细节
 */

@class LCCycleScrollView;

@protocol LCCycleScrollViewDataSource <NSObject>

/**
 提供轮播器数量
 
 @param cycleScrollView 当前控件
 @return 返回数量
 */
- (NSInteger)numberOfItemsInCycleScrollView:(LCCycleScrollView *)cycleScrollView;



/**
 获取图片轮播器图片
 
 @param cycleScrollView 当前控件
 @param index 下标
 @return 返回轮播器文字
 */
- (NSString *)cycleScrollView:(LCCycleScrollView *)cycleScrollView imageURLForItemAtIndex:(NSInteger)index;

@end

@protocol LCCycleScrollViewDelegate <NSObject>

@optional
/**
 返回当前选中的pageControl 颜色
 
 @param cycleScrollView 当前控件
 @return 颜色
 */
- (UIColor *)colorForCurrentPageControlInCycleScrollView:(LCCycleScrollView *)cycleScrollView;

///** 点击图片回调 */
- (void)cycleScrollView:(LCCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index;

@end

@interface LCCycleScrollView : UIView

@property (weak, nonatomic) id<LCCycleScrollViewDataSource> dataSource;

@property (weak, nonatomic) id<LCCycleScrollViewDelegate>   delegate;

/** block方式监听点击 */
@property (nonatomic, copy) void (^clickItemOperationBlock)(NSInteger currentIndex);

/**
 刷新数据
 */
- (void)reloadData;

- (void)clearTimer;

@end
